"""
实现在睡眠前和睡眠后添加动作
"""


# 第一种写法
# def sleep():
#     import time
#     import random
#
#     print("睡眠中....")
#     time.sleep(random.randint(1, 5))
#
#
# def handler(func):
#     def action():
#         print("睡前我要刷牙")
#         func()
#         print("醒来我要刷牙")
#
#     return action
#
#
# handler(sleep)()

# 第二种写法，装饰器的语法糖，在目标函数添加 @调用函数名
def handler(func):
    def action():
        print("睡前我要刷牙")
        func()
        print("醒来我要刷牙")

    return action


# 装饰器的语法糖
@handler
def sleep():
    import time
    import random

    print("睡眠中....")
    time.sleep(random.randint(1, 5))


sleep()

